Computing device and method of pairing accessories

ABSTRACT

Method of pairing accessories includes obtaining coordinates of outline points of first accessories and second accessories of a product. The outline points of the first accessories and the second accessories are assigned numbers. Each of the first accessories and each of the second accessories are transported to a corresponding location according to the assigned numbers. A second accessory is determined to pair with each of the first accessories according to the coordinates of the outline points of the first accessories and the second accessories. Paired first and second accessories are transported from corresponding locations into a first box for assembly, and unpaired first and second accessories are transported into a second box by a the transport system.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to Chinese Patent Application No.201310607973.7 filed on Nov. 26, 2013 in the State Intellectual PropertyOffice of the People's Republic of China, the contents of which areincorporated by reference herein.

FIELD

Embodiments of the present disclosure relate to data processingtechnology, and particularly to a computing device and a method ofpairing accessories using the computing device.

BACKGROUND

A product may include one or more accessories. When a first accessory isassembled into a second accessory of the product, a gap between thefirst accessory and the second accessory is defined. A producer may wantto make the gap smaller.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the disclosure can be better understood with referenceto the following drawings. The components in the drawings are notnecessarily drawn to scale, the emphasis instead being placed uponclearly illustrating the principles of the disclosure. Moreover, in thedrawings, like reference numerals designate corresponding accessoriesthroughout the several views.

FIG. 1 illustrates a block diagram of one embodiment of a computingdevice.

FIG. 2 illustrates a plan view of an example of a first accessory and asecond accessory.

FIG. 3 shows a plurality of first accessories and second accessoriestransported by a transport system.

FIG. 4 shows a flow chart of a pairing method in accordance with anembodiment of the present disclosure.

FIG. 5 shows an example of outline points of a first accessory and asecond accessory.

FIG. 6 shows an example of paired first and second accessories.

FIG. 7 is a detailed flow chart of block 404 of FIG. 4.

FIG. 8A and FIG. 8B show an example of determining a second accessory topair with each of the first accessories.

DETAILED DESCRIPTION

It will be appreciated that for simplicity and clarity of illustration,where appropriate, reference numerals have been repeated among thedifferent figures to indicate corresponding or analogous accessories. Inaddition, numerous specific details are set forth in order to provide athorough understanding of the embodiments described herein. However, itwill be understood by those of ordinary skill in the art that theembodiments described herein can be practiced without these specificdetails. In other instances, methods, procedures, and components havenot been described in detail so as not to obscure the related relevantfeature being described. The drawings are not necessarily to scale andthe proportions of certain accessories may be exaggerated to betterillustrate details and features. The description is not to be consideredas limiting the scope of the embodiments described herein.

Several definitions that apply throughout this disclosure will now bepresented. The term “module” refers to logic embodied in computing orfirmware, or to a collection of software instructions, written in aprogramming language, such as, Java, C, or assembly. One or moresoftware instructions in the modules may be embedded in firmware, suchas in an erasable programmable read only memory (EPROM). The modulesdescribed herein may be implemented as either software and/or computingmodules and may be stored in any type of non-transitorycomputer-readable medium or other storage device. Some non-limitingexamples of non-transitory computer-readable media include CDs, DVDs,BLU-RAY™, flash memory, and hard disk drives. The term “comprising”means “including, but not necessarily limited to”; it specificallyindicates open-ended inclusion or membership in a so-describedcombination, group, series and the like.

FIG. 1 illustrates a block diagram of one embodiment of a computingdevice. In the embodiment, a computing device 1 includes a pairingsystem 10, a display device 11, a storage device 12, and at least oneprocessor 13. FIG. 2 and FIG. 3 illustrate the computing device 1 isconnected to a transport system 200, a charge coupled device (CCD) 2,and a server 3.

In the embodiment, FIG. 3 illustrates that the transport system 200includes a transport rail 20, and a plurality of steering wheels, suchas steering wheels 22, 23 for example. The transport system 200 is usedto transport a plurality of accessories, such as first accessories(e.g., A1) and second accessories (e.g., B1). A product is obtained byassembling the accessories, for example, one of the first accessoriesand one of the second accessories can be assembled together. The productmay also include one or more other accessories as well as the firstaccessory and the second accessory.

In this embodiment, each of the first accessories and the secondaccessories can be fixed on a holder 21, and is kept parallel to a planewhere the transport rail 20 is located. In this embodiment, the pairingsystem 10 controls the transport system 200 to transport the firstaccessories and the second accessories at a predetermined speed.

In this embodiment, when the first accessories and the secondaccessories pass through the position of the CCD 2, the CCD 2 scansoutline points of each of the first accessories and the secondaccessories, and obtains three-dimensional coordinates of the outlinepoints of each of the first accessories and the second accessories. Inthis embodiment, the CCD 2 further stores the obtained three-dimensionalcoordinates in the server 3. In other embodiments, the CCD 2 stores theobtained three-dimensional coordinates in the storage device 12.

The storage device 12 can be an internal storage device, such as a flashmemory, a random access memory (RAM) for temporary storage ofinformation, and/or a read-only memory (ROM) for permanent storage ofinformation. The storage device 12 can also be an external storagedevice, such as an external hard disk, a storage card, or a data storagemedium. The at least one processor 13 can be a central processing unit(CPU), a microprocessor, or other data processor chip that performsfunctions of the computing device 1.

In this embodiment, the pairing system 10 can automatically determine asecond accessory for pairing with each of the first accessories. In thisembodiment, the pairing system 10 includes a processing module 101, anumbering module 102, a pairing module 103, a sorting module 104, and anoutputting module 105. Modules 101-105 can include computerizedinstructions in the form of one or more computer-readable programs thatcan be stored in a non-transitory computer-readable medium, for examplethe storage device 12, and executed by the at least one processor 13 toprovide functions of the present disclosure.

The processing module 101 controls the transport system 200 to transportthe first accessories and the second accessories at a predeterminedspeed. In at least one embodiment, each of the first accessories and thesecond accessories is respectively fixed in the holder 21, and is keptparallel to the plane where the transport rail 20 is located.

The processing module 101 obtains three-dimensional coordinates ofoutline points of each of the first accessories and the secondaccessories using the CCD 2, when each of the first accessories and thesecond accessories passes through the CCD 2.

For example, FIG. 5 illustrates that the processing module 101 obtainsthree-dimensional coordinates P11, P14, P17 of outline points of a firstaccessory “A1”, and obtains three-dimensional coordinates P21, P24, P27of outline points of a second accessory “B1”. Three three-dimensionalcoordinates are obtained to represent the first accessory “A1” and thesecond accessory “B1” in the FIG. 5. In other embodiments, a differentnumber of three-dimensional coordinates can be obtained to represent thefirst accessory “A1” and the second accessory “B1”.

The numbering module 102 assigns numbers to the outline points of thefirst accessories and the second accessories, and controls the transportsystem 200 to transport each of the first accessories and each of thesecond accessories to a corresponding location according to the numbersof the outline points of the first accessories and the secondaccessories. The three-dimensional coordinates of the outline points ofthe first accessory and the second accessories are stored in the server3 by the numbering module 102 according to the number of outline points.

For example, the numbering module 102 assigns a number “A1” to theoutline points of the first accessory “A1”, and controls the steeringwheel 22 to transport the first accessory “A1” into a cabinet whosenumber is “A1”. The numbering module 102 further stores thethree-dimensional coordinates of outline points of the first accessory“A1” in the server 3 according to the number “A1”.

For another example, the numbering module 102 assigns a number “B1” tothe outline points of the second accessory “B1”, and controls thesteering wheel 23 to transport the second accessory “B1” into a cabinetwhose number is “B1”. The numbering module 102 further stores thethree-dimensional coordinates of outline points of the second accessory“B1” in the server 3 according to the number “B1”.

The pairing module 103 determines a second accessory to pair with eachof the first accessories, according to the three-dimensional coordinatesof the outline points of the first accessories and the secondaccessories.

In at least one embodiment, when the pairing module 103 determines thesecond accessory to pair with each of the first accessories, the paringmodule 103 fits the three-dimensional coordinates of the outline pointsof each of the first accessories to be a curve. For example, as shown inFIG. 8A, the pairing module 103 fits the three-dimensional coordinatesof the outline points of the first accessory “A1” to be a curve “S”.

The pairing module 103 iterates an approximate position of thethree-dimensional coordinates of the outline points of each of thesecond accessories corresponding to the curve using the least squaremethod. In the embodiment, the pairing module 103 iterates theapproximate position using a predetermined iterative formula of

${f(X)} = {\sqrt[{M\; i\; n}]{\frac{\sum\limits_{n = 1}^{n}\left( \sqrt{\left( {{X\; 2} - {X\; 1}} \right)^{2} + \left( {{Y\; 2} - {Y\; 1}} \right)^{2} + \left( {{Z\; 2} - {Z\; 1}} \right)^{2}} \right)^{2}}{n}}.}$In the predetermined iterative formula, “(X1, Y1, Z1)” representsthree-dimensional coordinates of the outline points of each of the firstaccessories, “(X2, Y2, Z2)” represents three-dimensional coordinates ofthe outline points of each of the second accessories, and “n” representsa total number of three-dimensional coordinates of outline points ofeach of the second accessories. For example, the pairing module 103iterates the approximate position of coordinates P21 and P24 of thesecond accessory “B1” corresponding to the curve “S” as shown in FIG.8B.

The pairing module 103 computes distance deviation values between thethree-dimensional coordinates of the outline points of each of thesecond accessories and the curve, and stores the distance deviationvalues of the three-dimensional coordinates of the outline points ofeach of the second accessories to corresponding distance deviationarrays. The pairing module 103 further computes standard deviationvalues of the distance deviation arrays, and stores all the standarddeviation values to a standard deviation array.

In at least one embodiment, a distance deviation value can be equal tothe minimum distance value between each of the three-dimensionalcoordinates of the outline points of each of the second accessories andthe curve. A standard deviation value is computed using a predeterminedformula of √{square root over (Σ(x− x)²/(n−1))}, “x” represents anaverage value of each of the distance deviation arrays, and “n”represents the total number of the distance deviation values of each ofthe distance deviation arrays.

For example, the pairing module 103 computes a distance deviation valueof the coordinates P21 of the second accessory “B1” to be 0.02millimeter (mm), and computes a distance deviation value of thecoordinates P24 of the second accessory “B1” to be 0.01 mm. The twodistance deviation values are stored to a distance deviation array ofthe second accessory “B1” by the pairing module 103. When all of thedistance deviation values between the three-dimensional coordinates ofthe outline points of the second accessory “B1” and the curve “S” areobtained and stored in the distance deviation array of the secondaccessory “B1”, the pairing module 103 computes a standard deviationvalue of the distance deviation array of the second accessory “B1”, andstores the obtained standard deviation value of the second accessory“B1” to the standard deviation array.

The pairing module 103 determines the second accessory whose standarddeviation value is less than a predetermined tolerance (e.g., 0.02 mm)for each first accessory. In one embodiment, if more than one secondaccessories have the standard deviation value less than thepredetermined tolerance in the standard deviation array, a secondaccessory having a minimum standard deviation value is selected to bethe determined second accessory.

The pairing module 103 further generates a first list to record pairedfirst and second accessories according to the numbers of the outlinepoints of the paired first and second accessories, and generates asecond list to record unpaired first and second accessories.

The sorting module 104 controls the transport system 200 to transportthe paired first and second accessories from corresponding locationsinto a first box for assembly. The sorting module 104 further controlsthe transport system 200 to transport the unpaired first and secondaccessories into a second box.

For example, FIG. 6 illustrates that the sorting module 104 controls thetransport system 200 to transport two paired first and secondaccessories into the first box “C” for assembly. The two paired firstand second accessories includes a first pair which includes the firstaccessory “A1” and a second accessory “B2”, and a second pair whichincludes a first accessory “A2” and a second accessory “B5”.

The outputting module 105 displays a report on the display device 11 ofthe computing device 1 according to the first list and the second list.For example, the report indicates that “First: A total number of thefirst accessories is 156 pieces (PCS), and the total number of thesecond accessories is 300 PCS. Second: 120 PCS of the first accessoriesare successfully paired with the second accessories, and 36 PCS of thefirst accessories are not paired, when a predetermined tolerance isequal to 0.02 mm.”

FIG. 4 is a flowchart of an example embodiment of a method for pairingthe first and second accessories. In an example embodiment, the methodis performed by execution of computer-readable software program codes orinstructions by at least one processor 13 of a computing device 1, andcan automatically determine a second accessory to pair with each of thefirst accessories.

FIG. 4 illustrates a flowchart in accordance with an example embodiment.In the embodiment, the example method 400 is provided by way of exampleonly as there are a variety of ways to carry out the method. The method400 described below can be carried out using the configurationsillustrated in FIGS. 1 and 3, for example, and various elements of thesefigures are referenced in explaining the example method 400. Each blockshown in FIG. 4 represents one or more processes, methods orsubroutines, carried out in the exemplary method 400. Additionally, theillustrated order of blocks is by example only and the order of theblocks can be changed according to the present disclosure. The exemplarymethod 400 can begin at block 401.

In block 401, a processing module controls a transport system totransport first accessories and second accessories at a predeterminedspeed. In at least one embodiment, each of the first accessories and thesecond accessories are respectively fixed in a holder 21, and is keptparallel to a plane where a transport rail of the transport system islocated.

In block 402, the processing module obtains three-dimensionalcoordinates of outline points of each of the first accessories and thesecond accessories using a charge coupled device (CCD), when each of thefirst accessories and the second accessories passes through the CCD.

For example, as shown in FIG. 5, the processing module obtainsthree-dimensional coordinates P11, P14, P17 of outline points of a firstaccessory “A1”, and obtains three dimensional coordinates P21, P24, P27of the outline points of a second accessory “B1”. Threethree-dimensional coordinates are obtained to represent the firstaccessory “A1” and the second accessory “B1” in the FIG. 5. In otherembodiments, a different number of three-dimensional coordinates can beobtained to represent the first accessory “A1” and the second accessory“B1”.

In block 403, a numbering module assigns numbers to the outline pointsof the first accessories and the second accessories, and controls thetransport system to transport each of the first accessories and each ofthe second accessories to a corresponding location according to thenumbers of outline points of the first accessories and the secondaccessories. The three-dimensional coordinates of the outline points ofthe first accessory and the second accessories are stored in the server3 by the numbering module 102 according to the number of outline points.

For example, the numbering module assigns a number “A1” to the outlinepoints of a first accessory “A1”, and controls a first steering wheel ofthe transport system to transport the first accessory “A1” into acabinet whose number is “A1”. The numbering module further stores thethree-dimensional coordinates of outline points of the first accessory“A1” in a server according to the number “A1”.

For another example, the numbering module assigns a number “B1” to theoutline points of a second accessory “B1”, and controls a secondsteering wheel of the transport system to transport the second accessory“B1” into a cabinet whose number is “B1”. The numbering module furtherstores the three-dimensional coordinates of outline points of the secondaccessory “B1” in the server according to the number “B1”.

In block 404, a pairing module determines a second accessory to pairwith each of the first accessories, according to the three-dimensionalcoordinates of the outline points of the first accessories and thesecond accessories. The pairing module further generates a first list torecord paired first and second accessories according to the numbers ofoutline points of the paired first and second accessories, and generatesa second list to record unpaired first and second accessories. Moredetails of the block 4 will be provided in FIG. 7.

In block 405, a sorting module controls the transport system totransport the paired first and second accessories from correspondinglocations into a first box for assembly. The sorting module furthercontrols the transport system to transport the unpaired first and secondaccessories into a second box.

For example, FIG. 6 illustrates that the sorting module controls thetransport system to transport two paired first and second accessoriesinto the first box “C” for assembly. The two paired first and secondaccessories includes a first pair which includes the first accessory“A1” and a second accessory “B2”, and a second pair which includes afirst accessory “A2” and a second accessory “B5”.

In block 406, an outputting module displays a report on a display deviceof the computing device, according to the first list and the secondlist. For example, the report includes that “First: A total number ofthe first accessories is 156 pieces (PCS), and the total number of thesecond accessories is 300 PCS.

Second: 120 PCS of the first accessories are successfully paired withthe second accessories, and 36 PCS of the first accessories are notpaired, when a predetermined tolerance is equal to 0.02 millimeter(mm).”

FIG. 7 illustrates a further explanation of the block 404.

In block 4041, the pairing module fits the three-dimensional coordinatesof outline points of each of the first accessories to be a curve. Forexample, as shown in FIG. 8A, the pairing module fits thethree-dimensional coordinates of the outline points of the firstaccessory “A1” to be the curve “S”.

In block 4042, the pairing module iterates an approximate position ofthe three-dimensional coordinates of the outline points of each of thesecond accessories corresponding to the curve using the least squaremethod. In this embodiment, the pairing module iterates the approximateposition using a predetermined iterative formula of

${f(X)} = {\sqrt[{M\; i\; n}]{\frac{\sum\limits_{n = 1}^{n}\left( \sqrt{\left( {{X\; 2} - {X\; 1}} \right)^{2} + \left( {{Y\; 2} - {Y\; 1}} \right)^{2} + \left( {{Z\; 2} - {Z\; 1}} \right)^{2}} \right)^{2}}{n}}.}$In the predetermined iterative formula, “(X1, Y1, Z1)” representsthree-dimensional coordinates of the outline points of each of the firstaccessories, “(X2, Y2, Z2)” represents three-dimensional coordinates ofthe outline points of each of the second accessories, and “n” representsa total number of three-dimensional coordinates of outline points ofeach of the second accessories. For example, the pairing module iteratesthe approximate position of coordinates P21 and P24 of the secondaccessory “B1” corresponding to the curve “S” (as shown in FIG. 8B).

In block 4043, the pairing module computes distance deviation valuesbetween the three-dimensional coordinates of the outline points of eachof the second accessories and the curve, and stores the distancedeviation values of the three-dimensional coordinates of the outlinepoints of each of the second accessories to corresponding distancedeviation arrays. The pairing module computes standard deviation valuesof the distance deviation arrays, and stores all the standard deviationvalues to a standard deviation array.

In at least one embodiment, a distance deviation value can be equal tothe minimum distance value between each of the three-dimensionalcoordinates of the outline points of each of the second accessories andthe curve. A standard deviation value is computed using a predeterminedformula of √{square root over (Σ(x− x)²/(n−1))}, “x” represents anaverage value of each of the distance deviation arrays, and “n”represents the total number of the distance deviation values of each ofthe distance deviation arrays.

For example, the pairing module computes a distance deviation value ofthe coordinates P21 of the second accessory “B1” to be 0.02 millimeter(mm), and computes a distance deviation value of the coordinates P24 ofthe second accessory “B1” to be 0.01 mm. The pairing module furtherstores the two distance deviation values to a distance deviation arrayof the second accessory “B1”. When all of the distance deviation valuesbetween the three-dimensional coordinates of the outline points of thesecond accessory “B1” and the curve “S” are obtained and stored in thedistance deviation array of the second accessory “B1”, the pairingmodule computes a standard deviation value of the distance deviationarray of the second accessory “B1”, and stores the obtained standarddeviation value of the second accessory “B1” to the standard deviationarray.

In block 4044, the pairing module determines the second accessory whosestandard deviation value is less than a predetermined tolerance (e.g.,0.02 mm) for each first accessory. In one embodiment, if more than onesecond accessories have the standard deviation value less than thepredetermined tolerance in the standard deviation array, a secondaccessory having a minimum standard deviation value is selected to bethe determined second accessory.

It is believed that the present embodiments and their advantages will beunderstood from the foregoing description, and it will be apparent thatvarious changes may be made thereto without departing from the spiritand scope of the disclosure or sacrificing all of its materialadvantages, the examples hereinbefore described merely being preferredor exemplary embodiments of the disclosure.

The embodiments shown and described above are only examples. Even thoughnumerous characteristics and advantages of the present technology havebeen set forth in the foregoing description, together with details ofthe structure and function of the present disclosure, the disclosure isillustrative only, and changes may be made in the detail, including inparticular the matters of shape, size and arrangement of parts withinthe principles of the present disclosure, up to and including the fullextent established by the broad general meaning of the terms used in theclaims.

What is claimed is:
 1. A computing device comprising: at least oneprocessor; and a storage device storing one or more computer-readableprograms comprising instructions, which when executed by the at leastone processor, cause the at least one processor to: obtain coordinatesof outline points of first accessories and second accessories of aproduct; assign numbers to the outline points of the first accessoriesand the second accessories; control a transport system to transport eachof the first accessories and each of the second accessories to acorresponding location according to the numbers of the outline points ofthe first accessories and the second accessories; determine a secondaccessory to pair with each of the first accessories according to thecoordinates of the outline points of the first accessories and thesecond accessories; generate a first list to record paired first andsecond accessories according to the numbers of the outline points of thepaired first and second accessories; generate a second list to recordunpaired first and second accessories; transport the paired first andsecond accessories from corresponding locations into a first box forassembly and transport the unpaired first and second accessories into asecond box by controlling the transport system; and display a report ona display device of the computing device, according to the first listand the second list.
 2. The computing device of claim 1, wherein thecoordinates of the outline points of the first accessories and thesecond accessories are obtained from a charge coupled device (CCD),which is in connection to the computing device.
 3. The computing deviceof claim 1, wherein the second accessory is determined to pair with eachof the first accessories by: fitting the coordinates of the outlinepoints of each of the first accessories to be a curve; iterating anapproximate position of the coordinates of the outline points of each ofthe second accessories corresponding to the curve using the least squaremethod; computing distance deviation values between the coordinates ofoutline points of each of the second accessories and the curve, andstoring the distance deviation values of the coordinates of the outlinepoints of each of the second accessories to corresponding distancedeviation arrays; computing standard deviation values of the distancedeviation arrays, and storing all the standard deviation values to astandard deviation array; and determining the second accessory whosestandard deviation value is less than a predetermined tolerance for eachfirst accessory.
 4. The computing device of claim 3, wherein theapproximate position is determined using a predetermined iterativeformula of${{f(X)} = \sqrt[{M\; i\; n}]{\frac{\sum\limits_{n = 1}^{n}\left( \sqrt{\left( {{X\; 2} - {X\; 1}} \right)^{2} + \left( {{Y\; 2} - {Y\; 1}} \right)^{2} + \left( {{Z\; 2} - {Z\; 1}} \right)^{2}} \right)^{2}}{n}}},$“(X1, Y1, Z1)” representing coordinates of outline points of each of thefirst accessories, “(X2, Y2, Z2)” representing coordinates of outlinepoints of each of the second accessories, and “n” representing a totalnumber of coordinates of outline points of each of the secondaccessories.
 5. The computing device of claim 3, wherein if more thanone second accessories have the standard deviation value less than thepredetermined tolerance in the standard deviation array, a secondaccessory having a minimum standard deviation value is selected to bethe determined second accessory.
 6. A method for pairing accessoriesusing a computing device, the method comprising: obtaining coordinatesof outline points of first accessories and second accessories of aproduct; assigning numbers to the outline points of the firstaccessories and the second accessories; control a transport system totransport each of the first accessories and each of the secondaccessories to a corresponding location according to the numbers of theoutline points of the first accessories and the second accessories;determining a second accessory to pair with each of the firstaccessories according to the coordinates of the outline points of thefirst accessories and the second accessories; generate a first list torecord paired first and second accessories according to the numbers ofthe outline points of the paired first and second accessories; generatea second list to record unpaired first and second accessories;transporting the paired first and second accessories from correspondinglocations into a first box for assembly and transport the unpaired firstand second accessories into a second box by controlling the transportsystem; and displaying a report on a display device of the computingdevice, according to the first list and the second list.
 7. The methodof claim 6, wherein the coordinates of the outline points of the firstaccessories and the second accessories are obtained from a chargecoupled device (CCD), which is in connection to the computing device. 8.The method of claim 6, wherein the second accessory is determined topair with each of the first accessories by: fitting the coordinates ofthe outline points of each of the first accessories to be a curve;iterating an approximate position of the coordinates of the outlinepoints of each of the second accessories corresponding to the curveusing the least square method; computing distance deviation valuesbetween the coordinates of outline points of each of the secondaccessories and the curve, and storing the distance deviation values ofthe coordinates of the outline points of each of the second accessoriesto corresponding distance deviation arrays; computing standard deviationvalues of the distance deviation arrays, and storing all the standarddeviation values to a standard deviation array; and determining thesecond accessory whose standard deviation value is less than apredetermined tolerance for each first accessory.
 9. The method of claim8, wherein the approximate position is determined using a predeterminediterative formula of${{f(X)} = \sqrt[{M\; i\; n}]{\frac{\sum\limits_{n = 1}^{n}\left( \sqrt{\left( {{X\; 2} - {X\; 1}} \right)^{2} + \left( {{Y\; 2} - {Y\; 1}} \right)^{2} + \left( {{Z\; 2} - {Z\; 1}} \right)^{2}} \right)^{2}}{n}}},$“(X1, Y1, Z1)” representing coordinates of outline points of each of thefirst accessories, “(X2, Y2, Z2)” representing coordinates of outlinepoints of each of the second accessories, and “n” representing a totalnumber of coordinates of outline points of each of the secondaccessories.
 10. The method of claim 8, wherein if more than one secondaccessories have the standard deviation value less than thepredetermined tolerance in the standard deviation array, a secondaccessory having a minimum standard deviation value is selected to bethe determined second accessory.
 11. A non-transitory storage mediumhaving stored thereon instructions, when executed by at least oneprocessor of a computing device, cause the least one processor toexecute instructions of a method for pairing accessories, the methodcomprising: obtaining coordinates of outline points of first accessoriesand second accessories of a product; assigning numbers to the outlinepoints of the first accessories and the second accessories; control atransport system to transport each of the first accessories and each ofthe second accessories to a corresponding location according to thenumbers of the outline points of the first accessories and the secondaccessories; determining a second accessory to pair with each of thefirst accessories according to the coordinates of the outline points ofthe first accessories and the second accessories; generate a first listto record paired first and second accessories according to the numbersof the outline points of the paired first and second accessories;generate a second list to record unpaired first and second accessories;transporting the paired first and second accessories from correspondinglocations into a first box for assembly and transport the unpaired firstand second accessories into a second box by controlling the transportsystem; and displaying a report on a display device of the computingdevice, according to the first list and the second list.
 12. Thenon-transitory storage medium according to claim 11, wherein thecoordinates of the outline points of the first accessories and thesecond accessories are obtained from a charge coupled device (CCD),which is in connection to the computing device.
 13. The non-transitorystorage medium according to claim 11, wherein the second accessory isdetermined to pair with each of the first accessories by: fitting thecoordinates of the outline points of each of the first accessories to bea curve; iterating an approximate position of the coordinates of theoutline points of each of the second accessories corresponding to thecurve using the least square method; computing distance deviation valuesbetween the coordinates of outline points of each of the secondaccessories and the curve, and storing the distance deviation values ofthe coordinates of the outline points of each of the second accessoriesto corresponding distance deviation arrays; computing standard deviationvalues of the distance deviation arrays, and storing all the standarddeviation values to a standard deviation array; and determining thesecond accessory whose standard deviation value is less than apredetermined tolerance for each first accessory.
 14. The non-transitorystorage medium according to claim 13, wherein the approximate positionis determined using a predetermined iterative formula of${{f(X)} = \sqrt[{M\; i\; n}]{\frac{\sum\limits_{n = 1}^{n}\left( \sqrt{\left( {{X\; 2} - {X\; 1}} \right)^{2} + \left( {{Y\; 2} - {Y\; 1}} \right)^{2} + \left( {{Z\; 2} - {Z\; 1}} \right)^{2}} \right)^{2}}{n}}},$“(X1, Y1, Z1)” representing coordinates of outline points of each of thefirst accessories, “(X2, Y2, Z2)” representing coordinates of outlinepoints of each of the second accessories, and “n” representing a totalnumber of coordinates of outline points of each of the secondaccessories.
 15. The non-transitory storage medium according to claim13, wherein if more than one second accessories have the standarddeviation value less than the predetermined tolerance in the standarddeviation array, a second accessory having a minimum standard deviationvalue is selected to be the determined second accessory.